Variably Controlling Access to Content

ABSTRACT

A software module is presented that enables a person to determine the relevance of a document while preventing the person from making a copy of the entire document. In one embodiment, this is accomplished by programmatically controlling which portions of a document will be presented to a user and which portions will not be presented to the user. In one embodiment, the software module is used in conjunction with a search engine to present a document search result.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/956,564, filed on Oct. 1, 2004, entitled “Variably Controlling AccessTo Content” which is incorporated herein by reference in its entirety.This application is related to the following co-pending applications,which are hereby incorporated by reference in their entirety: U.S.patent application Ser. No. 10/948,734, entitled “Image Distortion forContent Security,” which was filed on Sep. 22, 2004 (U.S. Pat. No.7,561,755); and U.S. patent application Ser. No. 10/953,496, entitled“Variable User Interface Based on Document Access Privileges,” which wasfiled on Sep. 30, 2004.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to document security and, moreparticularly, to preventing a user from obtaining a copy of an entiredocument.

2. Description of the Background Art

It is easier to make a copy of information in electronic form than it isto make a copy of information in physical form. This fact makes contentowners wary of making their electronic information accessible by thepublic. However, content owners desire to provide their content tousers, often for a fee, and would benefit by having this information besearchable, in order to assist users in finding content that matchestheir interests and needs. Users of search engines in particular expectto be able to view the relevant portions of a document or other contentprior to purchasing the content. However, providing users access to therelevant portions typically results in giving users access to the entiredocument in a way that allows the user to make a copy of all of thecontent without paying for it.

Alternatively, it is possible to prohibit users' access to the relevantportions of a document until payment is received. However, in thatsituation, users are unable to see the relevant portions of the documentand thus cannot best judge whether the document satisfies theirinterests or needs and, as a result, are less likely to purchase thecontent.

Various other technologies have been developed with the goal of allowinga user to view a document while preventing the user from making a copyof it. One possibility is to allow a user to view only a portion of thedocument. If the user is allowed to choose which portion, however, ateam of users can obtain an entire document by coordinating efforts andrequesting different portions. Another possibility is to monitoraccesses to the document and try to detect attacks. Unfortunately,dynamically and rapidly monitoring data accesses is very difficult toimplement.

Other technologies developed to allow a user to view a document whilepreventing him from making a copy of it include, for example, modifyingthe user's browser to disable printing and specifying that an image, ifprinted, should be blank. While many technologies exist, each of themcan be circumvented.

What is needed is a way to allow a user to view an electronic documentwhile preventing the user from making a copy of the entire document.

SUMMARY OF THE INVENTION

A method for determining whether to present a portion of a document ispresented. The method includes not presenting the portion, responsive todetermining that the portion has been designated as inaccessible andpresenting the portion, responsive to determining that the portion hasbeen designated as absolutely accessible. The method further includes,responsive to determining that the portion has been designated asvariably accessible: evaluating a rule associated with the portion;presenting the portion, responsive to determining that the rule has beensatisfied; and not presenting the portion, responsive to determiningthat the rule has not been satisfied.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a general-purpose computing devicefor implementing the invention, according to one embodiment of theinvention.

FIG. 2 illustrates a block diagram of a software architecture for asystem that implements the invention, according to one embodiment of theinvention.

FIG. 3 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention.

FIG. 4 illustrates a frequency chart that shows, for each portion of adocument, the number of times that portion has been requested, accordingto one embodiment of the invention.

The figures depict a preferred embodiment of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In this disclosure, a “document” is to be broadly interpreted to includeany machine-readable and machine-storable work product. A document canbe a file, a combination of files, one or more files with embedded linksto other files, etc. The files may be of any type, such as text, audio,image, video, etc. Parts of a document to be rendered to an end user canbe thought of as “content” of the document. A document can include“structured data” containing both content (words, pictures, etc.) andsome indication of the meaning of that content (for example, emailfields and associated data, HTML tags and associated data, etc.).

In the context of the Internet, a common document is a Web page. Webpages often include content and may include embedded information (suchas meta information, hyperlinks, etc.) and/or embedded instructions(such as JavaScript, etc.). In many cases, a document has a unique,addressable storage location and can therefore be uniquely identified bythis addressable location. A universal resource locator (URL) is aunique address used to access information on the Internet.

In one embodiment of the invention, a document is divided into multipleportions. For example, a “unitary” document, such as a 10-minute soundclip, is divided into five portions of two minutes each. Similarly, a“composite” document, which comprises multiple sub-documents, is dividedinto portions of one or more sub-documents. For example, a documentrepresenting a book can be a set of images, each image being one page ofthe book. This book document can then be divided into portions, with aportion comprising one or more images.

A portion, whether it comes from a unitary document or a compositedocument, is designated as inaccessible, absolutely accessible, orvariably accessible. A portion's designation programmatically controlswhether the portion is authorized to be presented to a user. When a userrequests a document or a portion thereof, portions designated asinaccessible are not authorized to be presented, while portionsdesignated as absolutely accessible are authorized to be presented. Inone embodiment, a document includes at least one portion that isdesignated as inaccessible. Since this inaccessible portion will neverbe presented, it is impossible to make a copy of the entire document,whether a user works alone or whether he coordinates his efforts withother users.

In this embodiment, while a document includes at least one inaccessibleportion, the determination of which portion should be so designated doesnot need to be made before the document is made available to the public.As long as a portion exists that has not yet been accessed, there isstill time to designate an inaccessible portion. For example, a documentis divided into five portions, two of which are initially designated asabsolutely accessible and three of which are initially designated asvariably accessible. Over time, users access various portions of thedocument. At some point, users may have accessed four of the fiveportions. At this time, the last remaining portion (which has not beenaccessed) can be designated as inaccessible. This portion might havebeen initially designated as either absolutely accessible or variablyaccessible.

Portions designated as variably accessible may or may not be presented.In one embodiment, whether a variably accessible portion is presented isbased on characteristics of the user attempting to access it. Thesecharacteristics can include, for example, the user's identity (userid,IP address, etc.), whether the user has provided certain pieces ofinformation (email address, credit card number, etc.), and how long theuser has been using the system. For example, a variably accessibleportion might be presented only when the user who requested it hadalready logged in. In this way, a portion's accessibility can vary amongusers. In one embodiment, each portion that has been designated asvariably accessible can use a different test to determine whether theportion should be presented to a particular user.

The division of a document into portions can be performed in many ways.In one embodiment, the division is based on portion size. For example,an audio clip document is divided into portions of thirty seconds each.In another embodiment, the division is based on the desired number ofportions. For example, a video clip document is divided into tenportions, regardless of how long the clip is. In yet another embodiment,the division is based on content structure. For example, a book documentcontaining chapters is divided into portions of one chapter each.

In one embodiment, a document's division into portions can change overtime. The division might be changed based on, for example, observedrequest and/or access patterns for specific portions of the document,where content that was requested and/or accessed by the same user atclose points in time is identified as being related and, as a result,grouped together into a single portion.

In one embodiment, a portion is designated as inaccessible, absolutelyaccessible, or variably accessible based on characteristics of theportion itself. These characteristics can include, for example, thecontent of the portion, the size of the portion, whether the portion hasbeen requested, the rate at which the portion has been requested,whether the portion has been accessed, or the rate at which the portionhas been accessed. For example, if a document included a story with asurprise ending, the portion of the document that contained the surpriseending could be designated as inaccessible. (The portion could beidentified by, for example, the document's author or publisher.) Asanother example, if a document included a story with a really engagingbeginning, the portion of the document that contained the beginningcould be designated as absolutely accessible.

In another embodiment, a portion is designated based on characteristicsof the document containing the portion. These characteristics caninclude, for example, the rate at which users are requesting and/oraccessing various portions of the document. For example, the variablyaccessible portion of a document that has been requested and/or accessedthe most can be designated as absolutely accessible. This would enhanceusers' experiences by allowing them to access popular content.Similarly, the access pattern information could be tailored to specificcharacteristics of the user. For example, the variably accessibleportion of a document that has been requested and/or accessed the mostby users who have logged in can be designated as absolutely accessible(if the user who requested the portion has logged in) or variablyaccessible (if the user who requested the portion has not logged in).

In one embodiment, a portion can be designated based on multiplecharacteristics (e.g., the content of the portion and the size of theportion). These characteristics can indicate the same designation ordifferent designations. For example, the rate at which users arerequesting and/or accessing the portion could indicate a designation ofvariably accessible, while the rate at which users are requesting and/oraccessing various portions of the document could indicate a designationof inaccessible.

If each characteristic indicates the same designation, then thatdesignation is used. If the characteristics indicate conflictingdesignations, then a conservative approach would be to choose the mostrestrictive designation. For example, an absolutely accessibledesignation and a variably accessible designation would result in avariably accessible designation. A liberal approach would be to choosethe least restrictive designation. For example, an absolutely accessibledesignation and a variably accessible designation would result in anabsolutely accessible designation.

Note that the liberal approach could produce a designation of variablyaccessible from initial designations of inaccessible and variablyaccessible. In one embodiment, the liberal approach is modified todetermine whether the portion in question is the only portion of thedocument that has not yet been accessed. In this situation, the portionwould be designated as inaccessible.

A portion's designation (including its variable accessibility rule, ifany) can be static or dynamic over time. However, designating a formerlyinaccessible portion as variably accessible or absolutely accessiblecould result in a user being able to make a copy of an entire document,either by acting alone or as part of a coordinated effort. Note that ifthis change were made long after the document was originally madeavailable, a user (or team of users) would have to make a concertedeffort, over a long period of time, to obtain the entire document. Thechance of this happening may be so small as to constitute an acceptablerisk in certain circumstances. If this risk must be avoided, however, itis still possible to modify portion designations from variablyaccessible to absolutely accessible or vice versa. Another option is tochange the user characteristics that determine variable accessibility.

In one embodiment, a portion's designation depends, in part, on pastrequest and/or access patterns associated with that portion. Forexample, a document repository can track, for a particular document, thenumber of times that each portion of the document was requested and/oraccessed. FIG. 4 illustrates a frequency chart that shows, for eachportion of a document, the number of times that portion has beenrequested, according to one embodiment of the invention.

In one embodiment, the portions that have been requested with thehighest frequency in the past are designated as inaccessible for thefuture, while the portions that have been requested with the lowestfrequency in the past are designated as absolutely accessible for thefuture. The rest of the portions are designated as variably accessible.

In another embodiment, the portions that have been requested with thehighest frequency in the past are designated as absolutely accessiblefor the future, while the portions that have been requested with thelowest frequency in the past are designated as inaccessible for thefuture. The rest of the portions are designated as variably accessible.Determining designations in this way enhances a user's experience. Mostof the time, the portion that a user is interested in will have beendesignated as absolutely accessible (or variably accessible) and thus isauthorized to be presented (or may be authorized to be presented) to theuser. It is unlikely that the portion will have been designated asinaccessible. However, since the inaccessible designation always appliesto at least one portion, users are prevented from making a copy of theentire document.

In one embodiment, a frequency chart is initially built based on a fewuser requests. The initial chart is generally biased towards the firstfew user requests. If the first few user requests are atypical, thefrequency chart may not indicate the portions that would be requestedthe most by the general public. Over time, as more requests arereceived, the frequency chart is updated, and the initial bias can becorrected. Eventually, the frequency chart matures and enables popularcontent and unpopular content to be identified and, as a result,designated as absolutely accessible and inaccessible, respectively.

In one embodiment, a frequency chart is built based on requests from allusers. In another embodiment, a frequency chart is built based onrequests from only users with certain characteristics. For example, afrequency chart can be “specialized” based on requests from only userswho have logged in or only users who have been using the system for aparticular amount of time. A specialized frequency chart can bedetermined based on a user's characteristics and then used to designateportions that that user requests. In this way, users with differentcharacteristics can encounter different designations for the sameportion of the same document.

1. Search Context

The document designations described above can be used in a searchcontext. For example, a user enters a search query and receives resultscomprising a list of links to documents that satisfy the query. In oneembodiment, clicking on a link requests an entire document. As the usernavigates within the document, each portion of the document is presentedor not based on its designation. In another embodiment, clicking on alink requests an excerpt of a document. This excerpt can be, forexample, an excerpt of the document that satisfies the query. Whetherthis excerpt is presented or not is determined by the designations ofthe one or more portions of the document that contain the excerpt.

In a search context, a frequency chart can be built based on a searchindex. For example, a search index can indicate which search terms aremost frequently used and where these search terms are found withindocuments. A portion of a document that contains the most frequentlyused search terms can be designated as absolutely accessible, while aportion of a document that contains the least frequently used searchterms can be designated as inaccessible.

In a preferred embodiment, a search engine that enables a user to searcha portion of a particular document enables the user to search everyportion of the document. Similarly, in a preferred embodiment, everyportion of a document that has been designated as absolutely accessibleor variably accessible can be searched by a user. Alternatively, certainportions of a document cannot be searched. This embodiment can arise by,for example, not creating a search index for certain portions of adocument.

In a preferred embodiment, a document portion that can be searched canalso be presented to the user (if the portion has the properdesignation). Alternatively, certain portions of a document can besearched but cannot be presented to the user (no matter what thedesignation of the portion is). This embodiment can arise by creating asearch index for certain portions but not actually storing the portionsthemselves.

2. Apparatus

Embodiments of the invention will now be further described below withreference to FIGS. 1-3. FIG. 1 illustrates a block diagram of ageneral-purpose computing device for implementing the invention,according to one embodiment of the invention. The computing device 100preferably includes a processor 110, a main memory 120, a data storagedevice 130, and a network controller 180, all of which arecommunicatively coupled to a system bus 140. Computing device 100 maybe, for example, a workstation, a desktop computer, a laptop computer, atablet computer, a personal digital assistant (PDA), or any other typeof computing device.

Processor 110 processes data signals and comprises various computingarchitectures including a complex instruction set computer (CISC)architecture, a reduced instruction set computer (RISC) architecture, oran architecture implementing a combination of instruction sets. Althoughonly a single processor is shown in FIG. 1, multiple processors may beincluded.

Main memory 120 stores instructions and/or data that are executed byprocessor 110. The instructions and/or data comprise code for performingany and/or all of the techniques described herein. Main memory 120 ispreferably a dynamic random access memory (DRAM) device, a static randomaccess memory (SRAM) device, or some other memory device known in theart.

Data storage device 130 stores data and instructions for processor 110and comprises one or more devices including a hard disk drive, a floppydisk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, aDVD-RW device, a flash memory device, or some other mass storage deviceknown in the art.

Network controller 180 links the computing device 100 to a network (notshown).

System bus 140 represents a shared bus for communicating information anddata throughout the computing device 100. System bus 140 represents oneor more buses including an industry standard architecture (ISA) bus, aperipheral component interconnect (PCI) bus, a universal serial bus(USB), or some other bus known in the art to provide similarfunctionality.

Additional components that may be coupled to the computing device 100through system bus 140 include a display device 150, a keyboard 160, anda cursor control device 170. Display device 150 represents any deviceequipped to display electronic images and data to a local user ormaintainer. Display device 150 is a cathode ray tube (CRT), a liquidcrystal display (LCD), or any other similarly equipped display device,screen, or monitor. Keyboard 160 represents an alphanumeric input devicecoupled to computing device 100 to communicate information and commandselections to processor 110. Cursor control device 170 represents a userinput device equipped to communicate positional data as well as commandselections to processor 110. Cursor control device 170 includes a mouse,a trackball, a stylus, a pen, cursor direction keys, or other mechanismsto cause movement of a cursor.

It should be apparent to one skilled in the art that computing device100 includes more or fewer components than those shown in FIG. 1 withoutdeparting from the spirit and scope of the present invention. Forexample, computing device 100 may include additional memory, such as,for example, a first or second level cache or one or more applicationspecific integrated circuits (ASICs). As noted above, computing device100 may be comprised solely of ASICs. In addition, components may becoupled computing device 100 including, for example, image scanningdevices, digital still or video cameras, or other devices that may ormay not be equipped to capture and/or download electronic data to/fromcomputing device 100.

FIG. 2 illustrates a block diagram of a software architecture for asystem that implements the invention, according to one embodiment of theinvention. Generally, several code modules and memory storage areas arestored in the memory 120 for determining whether a search excerpt (e.g.,an excerpt of a document that satisfies a search query) should bepresented to a user. Specifically, the code modules and memory storageareas include a main program module 200, a portion identification module210, a portion designation module 220, and a rule evaluation module 230.Code modules and memory storage areas 200, 210, 220, and 230 arecommunicatively coupled to each other.

Main program module 200 transmits instructions and data to as well asreceives data from each code module and memory.

Portion identification module 210 determines, for a given searchexcerpt, the one or more portions of a document that contain thatexcerpt. In one embodiment, portion identification module 210 comprisesa memory area that stores information about portions that comprise adocument. This memory area can be a table that maps a document to a listof portions comprising the document. The document can be identifiedusing a unique identifier. A portion listed can be a range of thedocument. For example, if the document is a set of images, a range canbe the first ten images. If the document is a sound clip, a range can bethe first ten seconds.

In one embodiment, portion identification module 210 receivesinformation comprising the identity of the document that contains thesearch excerpt. Portion identification module 210 determines a list ofportions comprising the document by using the table described above.

Portion identification module 210 then determines which portion (orportions) contains the search excerpt. In one embodiment, portionidentification module 210 receives information comprising the context ofthe search excerpt within the document. For example, if the document isa set of images, the context can be index numbers of images that containthe search excerpt. If the document is a sound clip, the context can betimestamps of the beginning and end of a sound clip that contains thesearch excerpt. Portion identification module 210 can then use thecontext to determine which portion (or portions) contains the searchexcerpt. Alternatively, portion identification module 210 can determinethe context itself by accessing the content of the search excerpt,accessing the identified document, and then searching for the searchexcerpt content within the document.

Portion designation module 220 determines, for a given portion, thedesignation of that portion. In one embodiment, portion designationmodule 220 comprises a memory area that stores a designation for aportion of a document. This memory area can be a table that maps aportion of a document to that portion's designation. This designationmay be, e.g., inaccessible, absolutely accessible, or variablyaccessible. If the designation is variably accessible, portiondesignation module 220 also stores a rule that, when applied, determineswhether the portion in question should be presented to the particularuser that requested it. In a preferred embodiment, all portions of alldocuments have a designation.

In one embodiment, portion designation module 220 receives informationcomprising the identity of a portion of a document. Portion designationmodule 220 determines the designation of this portion (and itsassociated rule, if the designation is variably accessible) by using thetable described above.

Rule evaluation module 230 determines, for a given rule and a givenuser, whether the user's characteristics satisfy the variableaccessibility rule. As discussed above, a variable accessibility rulecan be based on, for example, one or more characteristics of the user.These characteristics can be, e.g., the user's identity (userid, IPaddress, etc.), whether the user has provided certain pieces ofinformation (email address, credit card number, etc.), and how long theuser has been using the system.

In one embodiment, rule evaluation module 230 accesses informationcomprising a variable accessibility rule. This rule can be returned byportion designation module 220. If a variable accessibility rule usesinformation regarding a user's characteristics, rule evaluation module230 accesses characteristics of the user in question. Thesecharacteristics can be stored by a “cookie” file on the user's machine.Alternatively, if the user has identified herself (e.g., by logging in),this information can be associated with the user and stored in mainmemory 120. Rule evaluation module 230 then applies the rule to theuser's characteristics to determine whether the rule is satisfied.

3. User Scenario

FIG. 3 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention. This method may be used,for example, in conjunction with a search engine. Before the method ofFIG. 3 begins, a user enters a query into a search engine. The query maycontain various search terms and expressions.

The search engine then generates a set of results. Each resultrepresents a reference to a document that “matches” the query. Theparticular way in which the search engine determines matching documentsis not material to the invention, which may be used with any type ofsearch engine. A document may match a query because, for example, itscontents satisfy the query or because meta-information associated withthe document (e.g., the document's author or publication date) satisfythe query. The search engine provides a search result set, typicallycontaining a list of matching documents.

When a user selects one of the search results (e.g., by clicking on alink of the document's name), the search engine determines a part of thedocument that matches the query (a search excerpt). This process isknown to those of ordinary skill in the art. Main program module 200then begins 300.

Main program module 200 uses portion identification module 210 todetermine 310 a portion of a document that contains the search excerpt.Main program module 200 then uses portion designation module 220 todetermine 320 the designation of that portion.

If the designation is “absolutely accessible,” then the main programmodule 200 indicates 330 that the search excerpt should be presented andthen ends 340. If the designation is “inaccessible,” then the mainprogram module 200 indicates 350 that the search excerpt should not bepresented and then ends 340.

If the designation is “variably accessible,” then the main programmodule 200 uses rule evaluation module 230 to determine 360 whether therule is satisfied. If the rule is satisfied, then the main programmodule 200 indicates 330 that the search excerpt should be presented tothe user and then ends 340. If the rule is not satisfied, then the mainprogram module 200 indicates 350 that the search excerpt should not bepresented to the user and then ends 340.

In one embodiment, if the search excerpt is contained within a pluralityof portions (i.e., if the search excerpt spans multiple portions), thenstep 310 results in multiple portions. Steps 320-360 are then executed(as necessary) for each of these portions, as described above. In oneembodiment, if the rule is satisfied for every portion containing thesearch excerpt, then the search excerpt is presented to the user. Inthis embodiment, if a rule is not satisfied for any portion containingthe search excerpt, then the search excerpt is not presented to theuser. In another embodiment, a part of a search excerpt that iscontained within a particular portion is presented (or not) based on thedesignation of that portion.

In one embodiment, if the search excerpt is contained within a portionthat does not have a designation, then step 320 results in nodesignation. In this situation, a customizable default settingdetermines whether the search excerpt should be presented to the user.Similarly, if a rule cannot be evaluated (e.g., because the necessaryuser characteristics are not known), then a second customizable defaultsetting can determine whether the search excerpt should be presented tothe user.

4. Additional Embodiments

In one embodiment, the designation of a portion is used to indicate how(instead of whether) to present a search excerpt. For example, a searchexcerpt within an “inaccessible” portion is presented, but not in its“true” format. The search excerpt can be distorted before presenting itto the user. Although, in this embodiment, an entire document can bepresented to a user (because even an “inaccessible” search excerpt ispresented), the document is still protected because one or more portionsof it are not presented in their “true” format. Distorting a document inorder to prevent it from being misappropriated is further discussed inco-pending U.S. patent application Ser. No. 10/948,734, entitled “ImageDistortion for Content Security,” which was filed on Sep. 22, 2004 (U.S.Pat. No. 7,561,755).

In the above description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthe invention. It will be apparent, however, to one skilled in the artthat the invention can be practiced without these specific details. Inother instances, structures and devices are shown in block diagram formin order to avoid obscuring the invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the discussion, it isappreciated that throughout the description, discussions utilizing termssuch as “processing” or “computing” or “calculating” or “determining” or“displaying” or the like, refer to the action and processes of acomputer system, or similar electronic computing device, thatmanipulates and transforms data represented as physical (electronic)quantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

The present invention also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatuses to perform the required method steps. The required structurefor a variety of these systems appears from the description. Inaddition, the present invention is not described with reference to anyparticular programming language. It will be appreciated that a varietyof programming languages may be used to implement the teachings of theinvention as described herein.

One skilled in the art will recognize that the particular examplesdescribed herein are merely illustrative of representative embodimentsof the invention, and that other arrangements, methods, architectures,and configurations may be implemented without departing from theessential characteristics of the invention. Accordingly, the disclosureof the present invention is intended to be illustrative, but notlimiting, of the scope of the invention, which is set forth in thefollowing claims.

1. A computer-implemented method for controlling access to a portion ofa document, the document comprising a plurality of portions, the methodcomprising: receiving a request to access the document portion;determining whether to provide access to the requested document portionbased on data describing past accesses of other portions of thedocument; and responding to the request based on the determination. 2.The method of claim 1, wherein access to the requested document portionis denied responsive to the data describing past accesses indicatingthat access was provided to one or more other document portions.
 3. Themethod of claim 1, wherein access to the requested document portion isdenied responsive to the data describing past accesses indicating thataccess was provided to a majority of other portions of the document. 4.The method of claim 1, wherein access to the requested document portionis denied responsive to the data describing past accesses indicatingthat access was provided to all document portions other than therequested document portion.
 5. The method of claim 1, wherein access tothe requested document portion is denied responsive to the datadescribing past accesses indicating that access was provided to one ormore other document portions more frequently than access was provided tothe requested document portion.
 6. The method of claim 1, wherein accessto the requested document portion is denied responsive to the datadescribing past accesses indicating that access was provided to one ormore other document portions on more occasions than access was providedto the requested document portion.
 7. The method of claim 1, whereinaccess to the requested document portion is granted responsive to thedata describing past accesses indicating that access was not provided toone or more other document portions.
 8. The method of claim 1, whereinaccess to the requested document portion is granted responsive to thedata describing past accesses indicating that access was not provided toone or more other document portions more frequently than access wasprovided to the requested document portion.
 9. The method of claim 1,wherein access to the requested document portion is granted responsiveto the data describing past accesses indicating that access was notprovided to one or more other document portions on more occasions thanaccess was provided to the requested document portion.
 10. The method ofclaim 1, wherein determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document comprises determining whether to provide accessto the requested document portion based on data describing past accessesof other portions of the document and further based on data describingpast requests for other portions of the document.
 11. The method ofclaim 1, wherein determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document comprises determining whether to provide accessto the requested document portion based on data describing past accessesof other portions of the document and further based on data describingpast accesses of the requested document portion.
 12. The method of claim1, wherein determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document comprises determining whether to provide accessto the requested document portion based on data describing past accessesof other portions of the document and further based on data describingpast requests for the requested document portion.
 13. The method ofclaim 1, wherein determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document comprises determining whether to provide accessto the requested document portion based on data describing past accessesof other portions of the document and further based on informationregarding a user from whom the request to access the document portionwas received.
 14. The method of claim 13, wherein the user informationcomprises one of a group containing an indication of whether the userhas logged in and an indication of the user's identity.
 15. The methodof claim 1, wherein determining whether to provide access to therequested document portion based on data describing past accesses ofother portions of the document comprises determining whether to provideaccess to the requested document portion based on data describing pastaccesses of other portions of the document and further based oninformation regarding the request to access the document portion. 16.The method of claim 15, wherein the request information comprises one ofa group containing an indication of when the request was received and anindication of an internet protocol (IP) address.
 17. The method of claim1, wherein responding to the request based on the determinationcomprises responsive to determining not to provide access to therequested document portion: modifying the requested document portion;and providing the modified portion.
 18. The method of claim 17, whereinmodifying the requested document portion comprises distorting therequested document portion.
 19. A computer-implemented method forcontrolling access to a portion of a document, the document comprising aplurality of portions, the method comprising: receiving a request toaccess the document portion, the document portion containing a part ofthe document that matches a search query; determining whether to provideaccess to the requested document portion based on data describing pastaccesses of other portions of the document; and responding to therequest based on the determination.
 20. The method of claim 19, whereinresponding to the request based on the determination comprisesresponsive to determining to provide access to the requested documentportion, presenting the part of the document that matches the searchquery.
 21. The method of claim 19, wherein responding to the requestbased on the determination comprises responsive to determining not toprovide access to the requested document portion, not presenting thepart of the document that matches the search query.
 22. The method ofclaim 19, wherein responding to the request based on the determinationcomprises responsive to determining not to provide access to therequested document portion: modifying the part of the document thatmatches the search query; and presenting the modified part.
 23. Themethod of claim 22, wherein modifying the part of the document comprisesdistorting the part of the document.
 24. A computer program product forcontrolling access to a portion of a document, the document comprising aplurality of portions, the computer program product comprising acomputer readable storage medium storing a computer program forperforming a method, the method comprising: receiving a request toaccess the document portion; determining whether to provide access tothe requested document portion based on data describing past accesses ofother portions of the document; and responding to the request based onthe determination.
 25. The computer program product of claim 24, whereinaccess to the requested document portion is denied responsive to thedata describing past accesses indicating that access was provided to oneor more other document portions.
 26. The computer program product ofclaim 24, wherein access to the requested document portion is deniedresponsive to the data describing past accesses indicating that accesswas provided to a majority of other portions of the document.
 27. Thecomputer program product of claim 24, wherein access to the requesteddocument portion is denied responsive to the data describing pastaccesses indicating that access was provided to all document portionsother than the requested document portion.
 28. The computer programproduct of claim 24, wherein access to the requested document portion isdenied responsive to the data describing past accesses indicating thataccess was provided to one or more other document portions morefrequently than access was provided to the requested document portion.29. The computer program product of claim 24, wherein access to therequested document portion is denied responsive to the data describingpast accesses indicating that access was provided to one or more otherdocument portions on more occasions than access was provided to therequested document portion.
 30. The computer program product of claim24, wherein access to the requested document portion is grantedresponsive to the data describing past accesses indicating that accesswas not provided to one or more other document portions.
 31. Thecomputer program product of claim 24, wherein access to the requesteddocument portion is granted responsive to the data describing pastaccesses indicating that access was not provided to one or more otherdocument portions more frequently than access was provided to therequested document portion.
 32. The computer program product of claim24, wherein access to the requested document portion is grantedresponsive to the data describing past accesses indicating that accesswas not provided to one or more other document portions on moreoccasions than access was provided to the requested document portion.33. The computer program product of claim 24, wherein determiningwhether to provide access to the requested document portion based ondata describing past accesses of other portions of the documentcomprises determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document and further based on data describing pastrequests for other portions of the document.
 34. The computer programproduct of claim 24, wherein determining whether to provide access tothe requested document portion based on data describing past accesses ofother portions of the document comprises determining whether to provideaccess to the requested document portion based on data describing pastaccesses of other portions of the document and further based on datadescribing past accesses of the requested document portion.
 35. Thecomputer program product of claim 24, wherein determining whether toprovide access to the requested document portion based on datadescribing past accesses of other portions of the document comprisesdetermining whether to provide access to the requested document portionbased on data describing past accesses of other portions of the documentand further based on data describing past requests for the requesteddocument portion.
 36. The computer program product of claim 24, whereindetermining whether to provide access to the requested document portionbased on data describing past accesses of other portions of the documentcomprises determining whether to provide access to the requesteddocument portion based on data describing past accesses of otherportions of the document and further based on information regarding auser from whom the request to access the document portion was received.37. The computer program product of claim 36, wherein the userinformation comprises one of a group containing an indication of whetherthe user has logged in and an indication of the user's identity.
 38. Thecomputer program product of claim 24, wherein determining whether toprovide access to the requested document portion based on datadescribing past accesses of other portions of the document comprisesdetermining whether to provide access to the requested document portionbased on data describing past accesses of other portions of the documentand further based on information regarding the request to access thedocument portion.
 39. The computer program product of claim 38, whereinthe request information comprises one of a group containing anindication of when the request was received and an indication of aninternet protocol (IP) address.
 40. The computer program product ofclaim 24, wherein responding to the request based on the determinationcomprises responsive to determining not to provide access to therequested document portion: modifying the requested document portion;and providing the modified portion.
 41. The computer program product ofclaim 40, wherein modifying the requested document portion comprisesdistorting the requested document portion.
 42. A computer programproduct for controlling access to a portion of a document, the documentcomprising a plurality of portions, the computer program productcomprising a computer readable storage medium storing a computer programfor performing a method, the method comprising: receiving a request toaccess the document portion, the document portion containing a part ofthe document that matches a search query; determining whether to provideaccess to the requested document portion based on data describing pastaccesses of other portions of the document; and responding to therequest based on the determination.
 43. The computer program product ofclaim 42, wherein responding to the request based on the determinationcomprises responsive to determining to provide access to the requesteddocument portion, presenting the part of the document that matches thesearch query.
 44. The computer program product of claim 42, whereinresponding to the request based on the determination comprisesresponsive to determining not to provide access to the requesteddocument portion, not presenting the part of the document that matchesthe search query.
 45. The computer program product of claim 42, whereinresponding to the request based on the determination comprisesresponsive to determining not to provide access to the requesteddocument portion: modifying the part of the document that matches thesearch query; and presenting the modified part.
 46. The computer programproduct of claim 45, wherein modifying the part of the documentcomprises distorting the part of the document.